.fd-r {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.fd-c {
	display: flex;
	flex-direction: column;
}

.flex1 {
	flex: 1;
}

.flex2 {
	flex: 2;
}

.flex3 {
	flex: 3;
}

.flex4 {
	flex: 4;
}

.flex5 {
	flex: 5;
}

.flex6 {
	flex: 6;
}

.ai-c {
	align-items: center;
}

.ai-fs {
	align-items: flex-start;
}

.ai-fe {
	align-items: flex-end;
}

.ai-s {
	align-items: stretch;
}

.ac-fs {
	align-content: flex-start;
}

.ac-fe {
	align-content: flex-end;
}

.ac-c {
	align-content: center;
}

.ac-sb {
	align-content: space-between;
}

.ac-sa {
	align-content: space-around;
}

.ac-s {
	align-content: stretch;
}

.as-a {
	align-self: auto;
}

.as-fs {
	align-self: flex-start;
}

.as-fe {
	align-self: flex-end;
}

.as-c {
	align-self: center;
}

.as-s {
	align-self: stretch;
}

.jc-c {
	justify-content: center;
}

.jc-fs {
	justify-content: flex-start;
}

.jc-fe {
	justify-content: flex-end;
}

.jc-sb {
	justify-content: space-between;
}

.jc-sa {
	justify-content: space-around;
}

.fw-w {
	flex-wrap: wrap;
}

.z-card {
	margin: 24rpx 24rpx 0 24rpx;
	border-radius: 16rpx;
	background-color: white;
	box-shadow: 0 0px 5px rgba(0, 0, 0, 0.08);
}

.w-full {
	width: 100%;
}

.h-full {
	height: 100%;
}

.z-foot {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
}

.fw-b {
	font-weight: bold;
}

.c-primary {
	color: $c-primary;
}

.c-red {
	color: $c-red;
}

.c-green {
	color: $c-green;
}

.c-orange {
	color: $c-orange;
}

.c-grey {
	color: $c-grey;
}

.c-white {
	color: #ffffff;
}

.bgc-primary {
	background-color: $c-primary;
}

.bgc-red {
	background-color: $c-red;
}

.bgc-green {
	background-color: $c-green;
}

.bgc-orange {
	background-color: $c-orange;
}

.bgc-grey {
	background-color: $c-grey;
}

.bgc-white {
	background-color: #ffffff;
}

.divider {
	transform: scaleY(0.2);
	border: 1px solid $uni-border-color;
}

/* #ifndef UNI-APP-X */
button::after {
	border: none;
}
/* #endif */

.btn-primary {
	font-size: 30rpx;
	color: #ffffff;
	background-color: $c-primary;
	border-radius: 200rpx;
}

.btn-primary-plain {
	font-size: 30rpx;
	color: $c-primary;
	border: solid 1px $c-primary;
	background-color: #ffffff;
	border-radius: 200rpx;
}

.btn-primary-text {
	font-size: 30rpx;
	border: none;
	border-radius: 8rpx;
	color: $c-primary;
	background-color: #ffffff;
}

.btn-orange {
	font-size: 30rpx;
	color: #ffffff;
	background-color: $c-orange;
	border-radius: 200rpx;
}

.btn-orange-plain {
	font-size: 30rpx;
	color: $c-orange;
	border: solid 1px $c-orange;
	background-color: #ffffff;
	border-radius: 200rpx;
}

.btn-orange-text {
	font-size: 30rpx;
	border: none;
	border-radius: 8rpx;
	color: $c-orange;
	background-color: #ffffff;
}

.btn-red {
	font-size: 30rpx;
	color: #ffffff;
	background-color: $c-red;
	border-radius: 200rpx;
}

.btn-red-plain {
	font-size: 30rpx;
	color: $c-red;
	border: solid 1px $c-red;
	background-color: #ffffff;
	border-radius: 200rpx;
}

.btn-red-text {
	font-size: 30rpx;
	border: none;
	border-radius: 8rpx;
	color: $c-red;
	background-color: #ffffff;
}

.btn-green {
	font-size: 30rpx;
	color: #ffffff;
	background-color: $c-green;
	border-radius: 200rpx;
}

.btn-green-plain {
	font-size: 30rpx;
	color: $c-green;
	border: solid 1px $c-green;
	background-color: #ffffff;
	border-radius: 200rpx;
}

.btn-green-text {
	font-size: 30rpx;
	border: none;
	border-radius: 8rpx;
	color: $c-green;
	background-color: #ffffff;
}

.btn-grey {
	font-size: 30rpx;
	color: #ffffff;
	background-color: $c-grey;
	border-radius: 200rpx;
}

.btn-grey-plain {
	font-size: 30rpx;
	color: $c-grey;
	border: solid 1px $c-grey;
	background-color: #ffffff;
	border-radius: 200rpx;
}

.btn-grey-text {
	font-size: 30rpx;
	border: none;
	border-radius: 8rpx;
	color: $c-grey;
	background-color: #ffffff;
}

.btn-text-hover {
	background-color: rgba(0, 0, 0, 0.06);
}

.btn-hover {
	transform: scale(0.98, 0.98);
}

.fs-20 {
	font-size: 20rpx;
}
.fs-22 {
	font-size: 22rpx;
}
.fs-24 {
	font-size: 24rpx;
}
.fs-26 {
	font-size: 26rpx;
}
.fs-28 {
	font-size: 28rpx;
}
.fs-30 {
	font-size: 30rpx;
}
.fs-32 {
	font-size: 32rpx;
}
.fs-34 {
	font-size: 34rpx;
}
.fs-36 {
	font-size: 36rpx;
}
.fs-38 {
	font-size: 38rpx;
}
.fs-40 {
	font-size: 40rpx;
}
.fs-42 {
	font-size: 42rpx;
}
.fs-44 {
	font-size: 44rpx;
}

.br-8 {
	border-radius: 8rpx;
}
.br-12 {
	border-radius: 12rpx;
}
.br-16 {
	border-radius: 16rpx;
}
.br-24 {
	border-radius: 24rpx;
}
.br-32 {
	border-radius: 32rpx;
}
.br-40 {
	border-radius: 40rpx;
}
.br-48 {
	border-radius: 48rpx;
}
.br-200 {
	border-radius: 200rpx;
}

.lines1 {
	/* #ifndef UNI-APP-X */
	width: 100%;
	display: -webkit-box;
	white-space: inherit;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	/* #endif */
	/* #ifdef UNI-APP-X */
	lines: 1;
	/* #endif */
}

.lines2 {
	/* #ifndef UNI-APP-X */
	width: 100%;
	display: -webkit-box;
	white-space: inherit;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	/* #endif */
	/* #ifdef UNI-APP-X */
	lines: 2;
	/* #endif */
}

.lines3 {
	/* #ifndef UNI-APP-X */
	width: 100%;
	display: -webkit-box;
	white-space: inherit;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	/* #endif */
	/* #ifdef UNI-APP-X */
	lines: 3;
	/* #endif */
}

.lines4 {
	/* #ifndef UNI-APP-X */
	width: 100%;
	display: -webkit-box;
	white-space: inherit;
	overflow: hidden;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	/* #endif */
	/* #ifdef UNI-APP-X */
	lines: 4;
	/* #endif */
}

$numArray: 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68,
	72, 76, 80, 84, 88, 92, 96, 100;
@each $d in $numArray {
	.p-#{$d} {
		padding: ($d) + rpx;
	}

	.px-#{$d} {
		padding-left: ($d) + rpx;
		padding-right: ($d) + rpx;
	}

	.py-#{$d} {
		padding-top: ($d) + rpx;
		padding-bottom: ($d) + rpx;
	}

	.m-#{$d} {
		margin: ($d) + rpx;
	}

	.mx-#{$d} {
		margin-left: ($d) + rpx;
		margin-right: ($d) + rpx;
	}

	.my-#{$d} {
		margin-top: ($d) + rpx;
		margin-bottom: ($d) + rpx;
	}

	.z-#{$d} {
		z-index: $d;
	}

	.fs-#{$d} {
		font-size: ($d) + rpx;
	}
}

@each $propKey, $propVal in (m: margin, p: padding) {
	@each $directionKey, $directionVal in (t: top, r: right, b: bottom, l: left)
	{
		@each $num in $numArray {
			.#{$propKey}#{$directionKey}-#{$num} {
				#{$propVal}-#{$directionVal}: ($num) + rpx;
			}
		}
	}
}

.p-f {
	position: fixed; /* 固定定位 */
}
.p-r {
	position: relative; /* 相对定位 */
}
.p-a {
	position: absolute; /* 绝对定位 */
}
.p-s {
	position: sticky; /* 粘性定位 */
}

.t0 {
	top: 0; /* 设置top为0 */
}
.b0 {
	bottom: 0;
}
.r0 {
	right: 0;
}
.l0 {
	left: 0;
}
